*** Settings ***
Documentation  包括用户新增、编辑、删除流程及用户详情页展示
Resource  ../流程层.robot
Suite Setup  登录
Suite Teardown  关闭浏览器
Force Tags  功能测试  回归测试

*** Variables ***
${addUserName}  lee11   # 新建用户名

*** Test Cases ***
用户新建流程测试
    [Documentation]  新建用户
    [Tags]  关键测试
    进入用户管理页
    # 点击新增按钮，打开用户新增页
    点击元素  xpath=//a[@class='createBtn']
    sleep  0.5
    # 退出用户管理嵌套页
    unselect frame
    # 退出系统管理嵌套页
    unselect frame
    # 进入用户新增页
    选择表单  xpath=//div[@class='layadmin-tabsbody-item layui-show']//iframe[@class='layadmin-iframe']
    # 获取用户新增页名称标题文本
    ${userAddText}  获取文本  xpath=//span[@class='title']
    # 断言用户新增页文本是否正确
    should be equal  ${userAddText}  用户管理-新增页
    选择表单  xpath=/html[1]/body[1]/div[2]/div[2]/div[2]/div[2]/div[1]/div[4]/iframe[1]
    # 输入用户名
    输入文本  xpath=//input[@id='userName']  ${addUserName}
    # 输入用户姓名
    输入文本  name=nickName  ${addUserName}
    # 点击所属机构框
    点击元素  xpath=/html[1]/body[1]/div[1]/form[1]/div[1]/ul[1]/li[4]/div[1]/div[1]/input[1]
    sleep  0.5
    # 点击总行
    点击元素  xpath=//span[text()='总行']
    # 点击确定
    点击元素  xpath=/html[1]/body[1]/div[1]/form[1]/div[1]/div[3]/div[3]/a[1]
    # 点击用户类型
    点击元素  xpath=//li[5]//div[1]//div[1]//div[1]//div[1]//input[1]
    # 选择系统管理员
    点击元素  xpath=/html[1]/body[1]/div[1]/form[1]/div[1]/ul[1]/li[5]/div[1]/div[1]/div[1]/dl[1]/dd[2]
    # 点击提交按钮
    点击元素  id=submitPage
    ${getsuccess}  获取文本  xpath=/html[1]/body[1]/div[4]/div[2]
    # 断言，提示界面文字为“操作成功”代表测试通过
    should be equal  ${getsuccess}  操作成功
    # 点击确定按钮
    点击元素  xpath=/html[1]/body[1]/div[4]/div[3]/a[1]
    # 退出机构新增页
    unselect frame
    # 进入用户管理嵌套页
    选择表单  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 点击关闭按钮
    点击元素  xpath=/html[1]/body[1]/div[2]/div[2]/div[2]/span[1]/a[1]

用户编辑流程测试
    [Documentation]  选择一条记录，进入编辑界面，编辑保存。编辑页页面跳转测试
    [Tags]  关键测试
    # 在用户名输入框中输入${addUserName}
    输入文本  name=search_LIKE_userName   ${addUserName}
    # 点击查询按钮
    点击元素  xpath=//button[@class='cx_btn']
    # 点击复选框
    点击元素  xpath=//tbody//i[@class='layui-icon layui-icon-ok']
    # 点击编辑按钮
    点击元素  xpath=//a[@class='updateBtn']
    sleep  0.5
    # 退出用户管理嵌套页
    unselect frame
    # 退出系统管理嵌套页
    unselect frame
    # 进入用户修改嵌套页
    选择表单  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 获取用户编辑页名称标题文本
    ${userEditText}  获取文本  xpath=//span[@class='title']
    # 断言用户新增页文本是否正确，编辑页页面跳转测试
    should be equal  ${userEditText}  用户管理-修改页
    # 进入用户编辑页
    选择表单  xpath=/html[1]/body[1]/div[3]/div[2]/div[1]/div[4]/iframe[1]
    # 清空用户姓名
    clear element text  xpath=//li[2]//div[1]//div[1]//input[1]
    # 重新输入用户姓名
    输入文本  xpath=//li[2]//div[1]//div[1]//input[1]  超级系统管理员
    # 在备注中输入内容
    输入文本  name=mark  lee0404
    # 点击提交按钮
    点击元素  xpath=//button[@id='submitPage']
    # 获取提示内容文本
    ${getsuccess}  获取文本  xpath=/html[1]/body[1]/div[4]/div[2]
    # 断言，提示界面文字为“操作成功”代表测试通过
    should be equal  ${getsuccess}  操作成功
    # 点击确定按钮
    点击元素  xpath=/html[1]/body[1]/div[4]/div[3]/a[1]
    # 退出用户修改嵌套页
    unselect frame
    # 进入用户管理嵌套页
    选择表单  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 点击关闭按钮
    点击元素  xpath=//a[@class='layui-layer-ico layui-layer-close layui-layer-close2']

用户详情页测试
    [Documentation]  验证点击用户姓名后的页面跳转及详情页中的用户名是否正确
    # 输入用户名检索
    输入文本  name=search_LIKE_userName   ${addUserName}
    # 点击查询按钮
    点击元素  xpath=//button[@class='cx_btn']
    # 点击用户姓名
    点击元素  xpath=//a[@class='layui-link']
    # 获取详情页中的标题
    ${useText}  获取文本  xpath=//div[@class='layui-layer-title']
    # 断言
    should be equal  ${useText}  用户管理-详情页
    # 进入用户详情嵌套页
    选择表单  id=iframeWrap
    # 获取详情页中的用户名
    ${xqUserText}  execute javascript  return document.getElementsByName('userName')[0].value
    # 断言
    should be equal  ${xqUserText}  ${addUserName}
    # 退出用户修改嵌套页
    unselect frame
    # 进入用户管理嵌套页
    选择表单  xpath=/html[1]/body[1]/div[1]/div[1]/div[5]/div[2]/iframe[1]
    # 点击关闭按钮
    点击元素  xpath=//a[@class='layui-layer-ico layui-layer-close layui-layer-close2']

用户删除流程测试
    [Documentation]  找到上个用例中创建的用户执行删除操作(已登录用户)
    [Tags]  关键测试
    # 在用户名输入框中输入${addUserName}
    输入文本  name=search_LIKE_userName   ${addUserName}
    # 点击查询按钮
    点击元素  xpath=//button[@class='cx_btn']
    # 点击复选框
    点击元素  xpath=//tbody//i[@class='layui-icon layui-icon-ok']
    # 点击删除按钮
    点击元素  xpath=//a[@class='deleteBtn']
    # 点击确定按钮
    点击元素  xpath=/html[1]/body[1]/div[4]/div[3]/a[1]
    # 获取提示文本
    ${alertTest}  获取文本  xpath=/html[1]/body[1]/div[5]/div[2]
    # 通过if语句判断测试结果，预期有已登录过和未登录过的用户,python表达式中的单引号必须带着，ELSE IF必须为大写
    run keyword if  '${alertTest}' == '登录过的用户不能删除'  log to console  用户有登录记录
    ...  ELSE IF  '${alertTest}' == '操作成功'  log to console  删除用户成功
    # 点击确定
    点击元素  xpath=/html[1]/body[1]/div[5]/div[3]/a[1]
